<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>17.3.BOM-定时器-setInterval()-停止定时器-练习（重点案例）：发送短信</title>
    <style>
        input::-webkit-outer-spin-button,
        input::-webkit-inner-spin-button {
            -webkit-appearance: none;
        }

        input[type="number"] {
            -moz-appearance: textfield;
        }

        input {
            outline: none;
        }
    </style>
</head>

<body>
    手机号码： <input type="number"> <button>发送</button>
</body>
<!-- 发送短信 -->
<!-- 点击按钮后，该按钮60秒之内不能再次点击，防止重复发送短信 -->
<!-- 1.按钮点击之后，会禁用 disabled 为true -->
<!-- 2.同时按钮里面的内容会变化， 注意 button 里面的内容通过 innerHTML修改 -->
<!-- 3.里面秒数是有变化的，因此需要用到定时器 -->
<!-- 4.定义一个变量，在定时器里面，不断递减 -->
<!-- 5.如果变量为0 说明到了时间，我们需要停止定时器，并且复原按钮初始状态 -->
<script>
    window.addEventListener('load', function () {
        var btn = document.querySelector('button');
        var time = 3;                                          // 定义剩下的秒数
        btn.addEventListener('click', function () {
            this.disabled = true;
            var timer = setInterval(function () {
                if (time == 0) {
                    clearInterval(timer);                       // 清除定时器
                    btn.disabled = false;                       // 复原按钮
                    btn.innerHTML = '发送';                     // 重置字体
                    time = 3;                                  // 重置是剩余事件
                } else {
                    btn.innerHTML = '还剩下' + time + '秒';
                    time--;
                }
            }, 1000)

        })
    })
</script>

</html>